package avicit.bdp.dgs.qa.dto;

import avicit.bdp.core.constant.Constants;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.stereotype.Component;

import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;

/**
 * @金航数码科技有限责任公司
 * @作者：developer
 * @邮箱：developer@avic-digital.com
 * @创建时间： 2023-09-15
 * @类说明：TemplateRelationDTO
 * @修改记录：
 * @注意事项：
 * @主要功能：模板引用关系
 */
@Component
public class TemplateRelationDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 规则名称
     */
    @ApiModelProperty(value = "规则名称")
    private String ruleName;

    /**
     * 作业名称
     */
    @ApiModelProperty(value = "质量作业名称")
    private String jobName;

    /**
     * 校验类型，0:单表校验、1:跨表比对、2:跨库比对、3:文件校验、4:单指标校验、5:多指标校验、6:根据数据标准校验
     */
    @ApiModelProperty(value = "校验类型，0:单表校验、1:跨表比对、2:跨库比对、3:文件校验、4:单指标校验、5:多指标校验、6:根据数据标准校验")
    private Integer measureType;
    @Transient
    private String measureTypeName;

    /**
     * 创建人
     */
    @ApiModelProperty(value = "创建人")
    protected String createdBy;

    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = Constants.YYYY_MM_DD_HH_MM_SS)
    @ApiModelProperty(value = "修改时间")
    protected Date lastUpdateDate;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getRuleName() {
        return ruleName;
    }

    public void setRuleName(String ruleName) {
        this.ruleName = ruleName;
    }

    public String getJobName() {
        return jobName;
    }

    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    public Integer getMeasureType() {
        return measureType;
    }

    public void setMeasureType(Integer measureType) {
        this.measureType = measureType;
    }

    public String getMeasureTypeName() {
        return measureTypeName;
    }

    public void setMeasureTypeName(String measureTypeName) {
        this.measureTypeName = measureTypeName;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public Date getLastUpdateDate() {
        return lastUpdateDate;
    }

    public void setLastUpdateDate(Date lastUpdateDate) {
        this.lastUpdateDate = lastUpdateDate;
    }
}
